package com.yinhe.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yinhe.common.annotation.Excel;
import com.yinhe.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 基本信息对象 yh_baseinfo
 * 
 * @author yinhe
 * @date 2022-09-19
 */
public class Baseinfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private SysDept dept;
    /** ID */
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String username;

    /** 部职别 */
    @Excel(name = "部职别")
    private String departmentTitle;

    /** 出生日期 */
    @Excel(name = "出生日期")
    private String birth;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 证件编号 */
    @Excel(name = "证件编号")
    private String certificateId;

    /** 年龄 */
    @Excel(name = "年龄")
    private String age;

    /** 部门 */
    @Excel(name = "部门")
    private String deptid;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 手机号1 */
    @Excel(name = "手机号1")
    private String phoneOne;

    /** 手机号2 */
    @Excel(name = "手机号2")
    private String phoneSecond;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 出生地 */
    @Excel(name = "出生地")
    private String birthplace;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 最高学历 */
    @Excel(name = "最高学历")
    private String highestEducation;

    /** 最高学位 */
    @Excel(name = "最高学位")
    private String highestDegree;

    /** 毕业学校 */
    @Excel(name = "毕业学校")
    private String graduationSchool;

    /** 专业 */
    @Excel(name = "专业")
    private String major;

    /** 人员类别 */
    @Excel(name = "人员类别")
    private String personnelCategory;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private String politics;

    /** 入党（团）时间 */
    @Excel(name = "入党", readConverterExp = "团=")
    private Date partyTime;

    /** 参加工作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "参加工作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workingTime;

    /** 入伍时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入伍时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date militaryTime;

    /** 教育培训经历 */
    @Excel(name = "教育培训经历")
    private String educationTraining;

    /** 参加ZZ情况 */
    @Excel(name = "参加ZZ情况")
    private String combatParticipation;

    /** 参加重大JS行动情况 */
    @Excel(name = "参加重大JS行动情况")
    private String majorOperations;

    /** 奖惩情况 */
    @Excel(name = "奖惩情况")
    private String reward;

    /** 简历 */
    @Excel(name = "简历")
    private String resume;

    /** JX */
    @Excel(name = "JX")
    private String baseRank;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long deptId;

    /** 首次招聘录用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "首次招聘录用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recruitmentTime;

    /** 岗位等级 */
    @Excel(name = "岗位等级")
    private String positionGrade;

    /** 岗位等级时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "岗位等级时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date positionGradeTime;

    /** 技术职务 */
    @Excel(name = "技术职务")
    private String technicalPosition;

    /** 技术职务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "技术职务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date technicalPositionTime;

    /** 级别 */
    @Excel(name = "级别")
    private String rank;

    /** 级别时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "级别时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rankTime;

    /** 现任职务 */
    @Excel(name = "现任职务")
    private String presentOccupation;

    /** 现职务层级 */
    @Excel(name = "现职务层级")
    private String currentJobLevel;

    /** 现职务层级时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "现职务层级时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date currentPositionLevelTime;

    /** 现JX */
    @Excel(name = "现JX")
    private String militaryRank;

    /** 现JX时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "现JX时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date militaryRankTime;

    /** 待遇级别简历 */
    @Excel(name = "待遇级别简历")
    private String salaryLevelResume;

    /** 备注1 */
    @Excel(name = "备注1")
    private String note1;

    /** 备注2 */
    @Excel(name = "备注2")
    private String note2;

    /** 备注3 */
    @Excel(name = "备注3")
    private String note3;

    /** 备注4 */
    @Excel(name = "备注4")
    private String note4;

    /** 备注5 */
    @Excel(name = "备注5")
    private String note5;

    /** 备注6 */
    @Excel(name = "备注6")
    private String note6;

    /** 备注7 */
    @Excel(name = "备注7")
    private String note7;

    /** 备注8 */
    @Excel(name = "备注8")
    private String note8;

    /** 备注9 */
    @Excel(name = "备注9")
    private String note9;

    /** 备注10 */
    @Excel(name = "备注10")
    private String note10;

    public SysDept getDept()
    {
        return dept;
    }

    public void setDept(SysDept dept)
    {
        this.dept = dept;
    }
    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }
    public void setDepartmentTitle(String departmentTitle) 
    {
        this.departmentTitle = departmentTitle;
    }

    public String getDepartmentTitle() 
    {
        return departmentTitle;
    }
    public void setBirth(String birth) 
    {
        this.birth = birth;
    }

    public String getBirth() 
    {
        return birth;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setCertificateId(String certificateId) 
    {
        this.certificateId = certificateId;
    }

    public String getCertificateId() 
    {
        return certificateId;
    }
    public void setAge(String age) 
    {
        this.age = age;
    }

    public String getAge() 
    {
        return age;
    }
    public void setDeptid(String deptid) 
    {
        this.deptid = deptid;
    }

    public String getDeptid() 
    {
        return deptid;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setPhoneOne(String phoneOne) 
    {
        this.phoneOne = phoneOne;
    }

    public String getPhoneOne() 
    {
        return phoneOne;
    }
    public void setPhoneSecond(String phoneSecond) 
    {
        this.phoneSecond = phoneSecond;
    }

    public String getPhoneSecond() 
    {
        return phoneSecond;
    }
    public void setNativePlace(String nativePlace) 
    {
        this.nativePlace = nativePlace;
    }

    public String getNativePlace() 
    {
        return nativePlace;
    }
    public void setBirthplace(String birthplace) 
    {
        this.birthplace = birthplace;
    }

    public String getBirthplace() 
    {
        return birthplace;
    }
    public void setNation(String nation) 
    {
        this.nation = nation;
    }

    public String getNation() 
    {
        return nation;
    }
    public void setHighestEducation(String highestEducation) 
    {
        this.highestEducation = highestEducation;
    }

    public String getHighestEducation() 
    {
        return highestEducation;
    }
    public void setHighestDegree(String highestDegree) 
    {
        this.highestDegree = highestDegree;
    }

    public String getHighestDegree() 
    {
        return highestDegree;
    }
    public void setGraduationSchool(String graduationSchool) 
    {
        this.graduationSchool = graduationSchool;
    }

    public String getGraduationSchool() 
    {
        return graduationSchool;
    }
    public void setMajor(String major) 
    {
        this.major = major;
    }

    public String getMajor() 
    {
        return major;
    }
    public void setPersonnelCategory(String personnelCategory) 
    {
        this.personnelCategory = personnelCategory;
    }

    public String getPersonnelCategory() 
    {
        return personnelCategory;
    }
    public void setPolitics(String politics) 
    {
        this.politics = politics;
    }

    public String getPolitics() 
    {
        return politics;
    }
    public void setPartyTime(Date partyTime) 
    {
        this.partyTime = partyTime;
    }

    public Date getPartyTime() 
    {
        return partyTime;
    }
    public void setWorkingTime(Date workingTime) 
    {
        this.workingTime = workingTime;
    }

    public Date getWorkingTime() 
    {
        return workingTime;
    }
    public void setMilitaryTime(Date militaryTime) 
    {
        this.militaryTime = militaryTime;
    }

    public Date getMilitaryTime() 
    {
        return militaryTime;
    }
    public void setEducationTraining(String educationTraining) 
    {
        this.educationTraining = educationTraining;
    }

    public String getEducationTraining() 
    {
        return educationTraining;
    }
    public void setCombatParticipation(String combatParticipation) 
    {
        this.combatParticipation = combatParticipation;
    }

    public String getCombatParticipation() 
    {
        return combatParticipation;
    }
    public void setMajorOperations(String majorOperations) 
    {
        this.majorOperations = majorOperations;
    }

    public String getMajorOperations() 
    {
        return majorOperations;
    }
    public void setReward(String reward) 
    {
        this.reward = reward;
    }

    public String getReward() 
    {
        return reward;
    }
    public void setResume(String resume) 
    {
        this.resume = resume;
    }

    public String getResume() 
    {
        return resume;
    }
    public void setBaseRank(String baseRank) 
    {
        this.baseRank = baseRank;
    }

    public String getBaseRank() 
    {
        return baseRank;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setRecruitmentTime(Date recruitmentTime) 
    {
        this.recruitmentTime = recruitmentTime;
    }

    public Date getRecruitmentTime() 
    {
        return recruitmentTime;
    }
    public void setPositionGrade(String positionGrade) 
    {
        this.positionGrade = positionGrade;
    }

    public String getPositionGrade() 
    {
        return positionGrade;
    }
    public void setPositionGradeTime(Date positionGradeTime) 
    {
        this.positionGradeTime = positionGradeTime;
    }

    public Date getPositionGradeTime() 
    {
        return positionGradeTime;
    }
    public void setTechnicalPosition(String technicalPosition) 
    {
        this.technicalPosition = technicalPosition;
    }

    public String getTechnicalPosition() 
    {
        return technicalPosition;
    }
    public void setTechnicalPositionTime(Date technicalPositionTime) 
    {
        this.technicalPositionTime = technicalPositionTime;
    }

    public Date getTechnicalPositionTime() 
    {
        return technicalPositionTime;
    }
    public void setRank(String rank) 
    {
        this.rank = rank;
    }

    public String getRank() 
    {
        return rank;
    }
    public void setRankTime(Date rankTime) 
    {
        this.rankTime = rankTime;
    }

    public Date getRankTime() 
    {
        return rankTime;
    }
    public void setPresentOccupation(String presentOccupation) 
    {
        this.presentOccupation = presentOccupation;
    }

    public String getPresentOccupation() 
    {
        return presentOccupation;
    }
    public void setCurrentJobLevel(String currentJobLevel) 
    {
        this.currentJobLevel = currentJobLevel;
    }

    public String getCurrentJobLevel() 
    {
        return currentJobLevel;
    }
    public void setCurrentPositionLevelTime(Date currentPositionLevelTime) 
    {
        this.currentPositionLevelTime = currentPositionLevelTime;
    }

    public Date getCurrentPositionLevelTime() 
    {
        return currentPositionLevelTime;
    }
    public void setMilitaryRank(String militaryRank) 
    {
        this.militaryRank = militaryRank;
    }

    public String getMilitaryRank() 
    {
        return militaryRank;
    }
    public void setMilitaryRankTime(Date militaryRankTime) 
    {
        this.militaryRankTime = militaryRankTime;
    }

    public Date getMilitaryRankTime() 
    {
        return militaryRankTime;
    }
    public void setSalaryLevelResume(String salaryLevelResume) 
    {
        this.salaryLevelResume = salaryLevelResume;
    }

    public String getSalaryLevelResume() 
    {
        return salaryLevelResume;
    }
    public void setNote1(String note1) 
    {
        this.note1 = note1;
    }

    public String getNote1() 
    {
        return note1;
    }
    public void setNote2(String note2) 
    {
        this.note2 = note2;
    }

    public String getNote2() 
    {
        return note2;
    }
    public void setNote3(String note3) 
    {
        this.note3 = note3;
    }

    public String getNote3() 
    {
        return note3;
    }
    public void setNote4(String note4) 
    {
        this.note4 = note4;
    }

    public String getNote4() 
    {
        return note4;
    }
    public void setNote5(String note5) 
    {
        this.note5 = note5;
    }

    public String getNote5() 
    {
        return note5;
    }
    public void setNote6(String note6) 
    {
        this.note6 = note6;
    }

    public String getNote6() 
    {
        return note6;
    }
    public void setNote7(String note7) 
    {
        this.note7 = note7;
    }

    public String getNote7() 
    {
        return note7;
    }
    public void setNote8(String note8) 
    {
        this.note8 = note8;
    }

    public String getNote8() 
    {
        return note8;
    }
    public void setNote9(String note9) 
    {
        this.note9 = note9;
    }

    public String getNote9() 
    {
        return note9;
    }
    public void setNote10(String note10) 
    {
        this.note10 = note10;
    }

    public String getNote10() 
    {
        return note10;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("username", getUsername())
            .append("departmentTitle", getDepartmentTitle())
            .append("birth", getBirth())
            .append("gender", getGender())
            .append("certificateId", getCertificateId())
            .append("age", getAge())
            .append("deptid", getDeptid())
            .append("idNumber", getIdNumber())
            .append("phoneOne", getPhoneOne())
            .append("phoneSecond", getPhoneSecond())
            .append("nativePlace", getNativePlace())
            .append("birthplace", getBirthplace())
            .append("nation", getNation())
            .append("highestEducation", getHighestEducation())
            .append("highestDegree", getHighestDegree())
            .append("graduationSchool", getGraduationSchool())
            .append("major", getMajor())
            .append("personnelCategory", getPersonnelCategory())
            .append("politics", getPolitics())
            .append("partyTime", getPartyTime())
            .append("workingTime", getWorkingTime())
            .append("militaryTime", getMilitaryTime())
            .append("educationTraining", getEducationTraining())
            .append("combatParticipation", getCombatParticipation())
            .append("majorOperations", getMajorOperations())
            .append("reward", getReward())
            .append("resume", getResume())
            .append("baseRank", getBaseRank())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("recruitmentTime", getRecruitmentTime())
            .append("positionGrade", getPositionGrade())
            .append("positionGradeTime", getPositionGradeTime())
            .append("technicalPosition", getTechnicalPosition())
            .append("technicalPositionTime", getTechnicalPositionTime())
            .append("rank", getRank())
            .append("rankTime", getRankTime())
            .append("presentOccupation", getPresentOccupation())
            .append("currentJobLevel", getCurrentJobLevel())
            .append("currentPositionLevelTime", getCurrentPositionLevelTime())
            .append("militaryRank", getMilitaryRank())
            .append("militaryRankTime", getMilitaryRankTime())
            .append("salaryLevelResume", getSalaryLevelResume())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("note1", getNote1())
            .append("note2", getNote2())
            .append("note3", getNote3())
            .append("note4", getNote4())
            .append("note5", getNote5())
            .append("note6", getNote6())
            .append("note7", getNote7())
            .append("note8", getNote8())
            .append("note9", getNote9())
            .append("note10", getNote10())
            .append("dept", getDept())
            .toString();
    }
}
